package ws;

import dtos.*;
import enums.TipoObjeto;
import fachada.FachadaLogica;

public class Juego {
	public DTORespuestaACreacionPartida CrearPartida(String nombrePartida, int idBarco){
		FachadaLogica f=new FachadaLogica();
		TipoObjeto t = TipoObjeto.from(idBarco);
		return f.CrearPartida(nombrePartida, t, 1);		
	}
	
	public DTORespuestaAUnirseAPartida UnirsePartida(int idPartida){
		FachadaLogica f=new FachadaLogica();		
		return f.UnirPartida(idPartida);
	}
	
	public DTONombPartidaBarco[] ListarPartidas(){
		FachadaLogica f=new FachadaLogica();
		return f.listarPartidasEnEspera();
	}
	
	public void FinalizarPartida(String idJugador){
		FachadaLogica f=new FachadaLogica();
		f.FinalizarPartida(idJugador);
	}
	
	public DTORespuestaAActualizar Actualizar(String idJugador){
		FachadaLogica f=new FachadaLogica();
		return f.actualizar(idJugador);
	}
	
	public DTORespuestaAAccion2 EjecutarAccion(String idJugador, int tipoAccion, int x, int y){
		FachadaLogica f=new FachadaLogica();
		return f.EjecutarAccion(idJugador, tipoAccion, new DTOCoordenadas(x, y));
	}
	
	public void FinalizarTurno(String idJugador){
		FachadaLogica f=new FachadaLogica();
		f.FinalizarTurno(idJugador);
	}
	
	public void GuardarPartida(String idJugador){
		FachadaLogica f = new FachadaLogica();
		f.GuardarPartida(idJugador);	
	}
	
	public DTORespuestaACargarPartida CargarPartida(String idJugador){
		FachadaLogica f = new FachadaLogica();
		return f.CargarPartida(idJugador);
	}
}
